package com.habdqn.studentmanager.mapper;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.habdqn.studentmanager.bean.Classes;
import com.habdqn.studentmanager.bean.Product;
import com.habdqn.studentmanager.bean.Teacher;

/**
 * @author Fan
 * 
 *         2017年5月16日
 * 
 */
public interface ClassesMapper {

	/**
	 * 查询班级
	 * 
	 * @param bean
	 * @return
	 */
	Classes find(Classes bean);

	/**
	 * 根据产品获取关联的班级
	 * 
	 * @param bean
	 * @return
	 */
	List<Classes> findListByProduct(Product bean);

	/**
	 * 删除班级
	 * 
	 * @param bean
	 */
	void delete(Classes bean);

	/**
	 * 新增班级信息同时新增班级教师关联表
	 * 
	 * @param bean
	 */
	void insert(Classes bean);

	/**
	 * 查询班级列表
	 * 
	 * @param bean
	 * @return
	 */
	List<Classes> findList(Classes bean);

	/**
	 * 更新班级
	 * 
	 * @param bean
	 */
	int update(Classes bean);

	/**
	 * 添加班级教师关联信息
	 * 
	 * @param bean
	 * @return
	 */
	int insertCT(Classes bean);

	/**
	 * 删除班级教师关联信息
	 * 
	 * @param bean
	 * @return
	 */
	int deleteCT(Classes bean);

	/**
	 * 更新班级教师关联信息
	 * 
	 * @param bean
	 * @return
	 */
	int updateCT(Classes bean);
	
	/**
	 * 根据教师查询指定状态的班级的数量
	 * @param teacher
	 * @param status
	 * @return
	 */
	int findByTeacher(@Param("teacher") Teacher teacher, @Param("status") Integer status);
}
